/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Negocio;

import Datos.Conexion;
import Datos.Global;
import Presentacion.frmProveedor;
import java.sql.CallableStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author RODRIGO
 */
public class clsProveedor_insumo {

    public static void insertarProveedor_insumo(int idProveedor, int idInsumo, String rubro, float precio,float cantidad) {
        try {
            String sql = "CALL `insert_proveedorInsumo`(?,?,?,?,?)";
            CallableStatement proc = Conexion.conn.prepareCall(sql);
            proc.setInt(1, idProveedor);
            proc.setInt(2, idInsumo);
            proc.setString(3, rubro);
            proc.setFloat(4, precio);
            proc.setFloat(5, cantidad);

            proc.executeUpdate();
        } catch (SQLException ex) {
            System.out.println("error al insertar proveedorInsumo " + ex);
        }
    }

    public static void eliminarProveedor_insumo(int idInsumo) {
        try {
            String sql = "CALL `deleted_proveedorInsumo`(" + '"' + idInsumo + '"' + ")";
            CallableStatement proc = Conexion.conn.prepareCall(sql);
            proc.executeUpdate();
        } catch (Exception e) {
            System.out.println("error al eliminar proveedor insumo " + e);
        }
    }
    
    public static void eliminarProveedor_insumo1(int idProveedor) {
        try {
            String sql = "CALL `deleted_proveedorInsumo1`(" + '"' + idProveedor + '"' + ")";
            CallableStatement proc = Conexion.conn.prepareCall(sql);
            proc.executeUpdate();
        } catch (Exception e) {
            System.out.println("error al eliminar proveedor insumo " + e);
        }
    }
    
    public static void modificarProveedor_insumo(int idInsumo,float precio,float cantidad){
        try {
            String sql = "CALL `update_proveedorInsumo`(?,?,?)";
            CallableStatement proc = Conexion.conn.prepareCall(sql);
            proc.setInt(1, idInsumo);
            proc.setFloat(2, precio);
            proc.setFloat(3, cantidad);
            proc.executeUpdate();
        } catch (Exception e) {
            System.out.println("error al modificar proveedor insumo " + e);
        }
    }

    public static String obtener_rubro(int idInsumo) {
        try {
            String sql = "CALL `obtener_Categoria` (" + '"' + idInsumo + '"' + ")";
            ResultSet res = Conexion.executeQuery(Conexion.conn, sql, null);
            while (res.next()) {
                return res.getString(1);
            }
        } catch (SQLException ex) {
            System.out.println("error al obtener nombre de rubro " + ex);
        }
        return null;
    }
    
    public static void mostrarTablaInsumos(JTable jtb,String sql) {
        Global.limpiarTabla(jtb);
        try {
            ResultSet rs = Conexion.executeQuery(Conexion.conn, sql, null);
            DefaultTableModel dftm = (DefaultTableModel)jtb.getModel();
            while(rs.next()){
                Object[] o = new Object[2];
                o[0]=rs.getInt(1);
                o[1]=rs.getString(2);
                dftm.addRow(o);
            }
        } catch (Exception e) {
            System.out.println("error al mostrar en tabla de insumo "+e);
        }
    }
    
    public static void cargar_listaRubro(int idProveedor){
        try {
            frmProveedor.listaRubros.clear();
            String sql="CALL `obtener_listaRubro`("+'"'+idProveedor+'"'+")";
            ResultSet rs=Conexion.executeQuery(Conexion.conn, sql, null);
            while (rs.next()){
                frmProveedor.listaRubros.add(rs.getString(1));
            }
        } catch (SQLException ex) {
            System.out.println("error al cargar lista de rubro "+ex);
        }
    }
}
